查看原文
其他

干货满满丨Apollo 5.0公开课集锦,等你GET

吕伊鹏 Apollo开发者社区 2022-07-29


Apollo 5.0开源平台自发布起便足够引人注目。近两个月来,阿波君对2019年百度AI开发者大会上公开课的内容进行了整理并陆续发布,想必各位开发者小伙伴都是收获满满,甚至有些意犹未尽吧!


下面将由社区开发者——吕伊鹏为我们分享他整理的公开课笔记,内容详尽,肯定有你想了解的,一起来看看吧。




Apollo Fuel 算是 Apollo5.0 版本新开源的一个工具,是数据流生产线,通过挂载式数据访问开发者上传的数据,为开发者提供动力学参数标定、控制在环模拟仿真等服务。


完整版学习  请点击《Apollo公开课丨Apollo Fuel 技术分享




首先,决策在整个自动驾驶中的位置:


▲自动驾驶整体流程图


  • 感知:主要针对动态物体或者障碍物; 

  • 地图:主要针对静态物体; 

  • 预测:主要针对动态障碍物,预测障碍物运动轨迹; 

  • 定位:自车定位; 

  • 车辆状态:加速度、速度等底盘信息等; 

  • Routing:未经优化处理的,连接当前点和目的地的规划轨迹线;

  • 决策:则是要综合道路信息、车辆信息、轨迹信息等大量信息,做出综合判断,为轨迹优化做准备。

  • 轨迹优化:针对相关约束条件等对 Routing 轨迹做优化;

  • 控制:基于优化后的轨迹,控制车辆达到目的地。 


而对决策有影响的约束,主要分为三种:交通规则限制、路径限制速度限制。结合以上信息及各种约束,进行决策的一般步骤为:




根据选定的目的地,先用折线连接起当前位置点和目的地点,建立参考线:


▲建立参考线



a、沿 Routing,每隔 0.25m 采样一个点;

b、对每个点根据车道边界,算出可调整范围;

c、对参考点进行优化;


优化其遵循以下三点:


  1. 相邻两点间距离尽可能小;

  2. 相邻三点间,左右两点与中间点的夹角尽可能小;

  3. 优化后的点不应离原始点距离过远。


d、基于上述三个规则,参考线平滑问题转化为二次规划问题。 


▲参考线平滑问题转化为二次规划问题


利用二次规划平滑后的参考线:


▲二次规划平滑后的参考线



沿平滑后的参考线寻找交通道路标示,主要有红绿灯、车道边界、道路边界等。



路径限制主要包括车道内路径限制、借道路径限制、换道路径限制等,是对车辆道内行驶、是否变道等作出的约束,主要考虑车道限制和道路限制。


▲车道内路径限制


▲借道路径限制


▲换道路径限制


交规限制和路径限制一起组成了路径规划的约束条件。


▲路径限制决策



速度限制分静态速度限制动态速度限制。静态速度限制主要包括:道路限速、侧向较近行人、减速带等对速度造成的影响;动态速度限制主要是超车或者避让时对速度的限制。


a、静态速度限制


速度规划首先应满足交规的限制,也就是道路限速;其次,当车身侧向有距离较近的行人时也应当降速;最后就是有减速带时,为保证驾乘的舒适性,也需要降速。当然,静态限速不仅仅局限于以上三种因素。


▲静态速度限制决策


b、动态速度限制


动态速度限制针对车辆的超车或避让操作,下图中菱形蓝色区域为预测的障碍车辆的可行区域,当选择避让操作时,可在菱形区域以下进行速度规划,超车则在其上进行速度规划。在预测障碍车辆可行域时,假设障碍车辆匀速或者匀加速行驶,在规划和控制过程中应时刻注意障碍车辆运动状态。


▲动态速度限制决策


综上所述,速度限制决策过程如下:



在决策时需要遵循以下三条原则:


  1. 舒适度。

  2. 车身物理特性。

  3. 道路限制。



Apollo 对场景的定义如下:地图中有一定特征的路段,或者是无人车想要完成的一系列复杂动作。


场景之间互不干扰,可以并行开发和调参,可以实现一系列有时序或者依赖关系的复杂任务。


对场景的定义是为了解决某些场景下,控制参数或者规划参数不适用的问题,通过场景划分,实现场景的细化,让工程简单化。


Apollo 主要场景划分为以下四种:


▲Apollo 现有场景


  • Lane Follow:常规场景,包含诸如跟车行驶、普通道路行驶等场景;

  • Intersection:主要指十字路口场景;

  • Pull Over:路边停车场景; 

  • Parking:泊车场景 。


场景间可以相互转化,通过内置的场景管理器,将驾驶化境转换成各种场景,进行分场景规划、决策控制等。而场景又可以进一步细化成不同的阶段。每个场景的决策流程相似,但算法和限制可能不同。


▲场景的转化


以右转场景为例:


  1. 接近路口 5m 左右进入路口场景;(进入条件) 

  2. 若为红灯,则减速,并在停止线前停车;(场景细化,阶段 1) 

  3. 然后路口缓慢探头,确认安全后完成右转。(阶段 2) 

  4. 若为绿灯,则直接完成右转。


▲红绿灯右转场景


完整版学习,请点击《Apollo公开课丨Apollo决策技术分享》




规划模块综述如下图所示:


▲规划模块综述


轨迹规划包含两部分:决策和运动轨迹规划。

 

  • 决策:主要是接受离散化信息,并进行处理;

  • 运动轨迹规划:接收决策信息,生成可用于控制的轨迹。


而运动轨迹规划又包括路径规划和速度规划,规划过程可分为:决策和优化。



目的:安全、高效、舒适。

路径规划:步骤 1~2。

路径优化:步骤 3~7。


主要是为了使问题复杂问题简单化,因为它将道路场景投影到了二维坐标上,而且该坐标系的建立不受道路几何形状等的影响,便于问题的理解。


根据道路边界、交规、障碍物等特征作出大致的决策,如下图所示:


▲路径决策


以距离为采样间隔,大约 0.5m 采样一个点;采样距离可根据场景自定义,若为行人密集区则可缩短采样间隔。


▲路径优化—间隔采样



▲路径优化—明确约束条件



路径优化—明确目标



▲路径优化—转化为二次规划问题



▲路径优化—输出路径规划



目标:安全、高效、舒适 

规划:步骤 1~7。


将复杂问题降至二维。以下图为例,中间车道为主车,左右车道为障碍车,根据障碍车运动规律,建立如下 s-t 坐标系:


▲建立 s-t 坐标系 



▲速度决策



▲速度优化—间隔采样



▲速度优化—明确约束条件



▲速度优化—明确目标



▲速度优化—转化为二次规划问题



▲速度优化—输出速度规划



  1. 感知/预测模块输出不准确;

  2. 概率化的输出信息;

  3. 路径规划和速度规划更紧密的耦合;

  4. 对于紧急状况的处理。


完整版学习,请点击《Apollo公开课丨Apollo运动轨迹规划技术》




Apollo 对于开放场景的定义如下图所示:


▲ 开放场景定义


对于开放场景下的轨迹规划主要考虑以下几点: 


▲开放场景指导思想


比较了几种常见 Planning 算法的优劣,结论如下:



Model Based Optimization 是开放环境下的首选,是常规 Planning 算法的有力补充。




利用 算法一次性生成复合车辆非和谐动力学特征(第一次生成的路径不一定完全符合动力学特征,后续还需优化),允许车辆前向后向档位切换的轨迹。


▲轨迹行驶决策


目的是为了减少曲率的变化,保证控制的可追踪性,以及驾乘的舒适性,同时能顺利避开障碍物。 


轨迹优化主要利用的算法是:Distance Approach Optimization


▲轨迹优化—Distance Approach Optimization


算法步骤描述:


▲算法步骤


下图垂直车位泊车的场景,展示了一个有车位边界线,且泊车过程无障碍物的室外场景。


▲范例与应用视频




与架构 I 的区别是优化算法的不同,其优化算法 Iterative Anchoring Smoothing。 



▲轨迹优化—With Iterative Anchoring


算法步骤描述:


▲算法步骤



▲范例与应用



  1. 感知障碍物几何形状的跳变。

  2. 开放环境下障碍物行为预测不准确与不稳定 。

  3. 复杂且拥挤的环境下,轨迹顺滑与实时性的取舍。

  4. 车辆控制在低速高曲率下的追踪性能。



本节公开课原版PPT获取方式:


进入公众号

回复关键词『0704开放空间规划

根据提示获得原版PPT资料




行为轨迹预测是对无人车周围的障碍物未来 n 秒的行为进行预测,来辅助决策和规划的。它通过接收原始的感知/定位/地图信息,预测周围障碍物未来的行为轨迹,用以指导无人车下一步的运动规划。




  1. 考虑不同类型障碍物的不同运动特征,可将障碍物分为行人和机动车,因此行为预测也可分为机动车行为预测和行人行为预测; 

  2. 全面的运用合适的模型处理不同类型的输入特征;

  3. 考虑实施算力的局限。


▲指导思想



机动车行为有以下两个特征: 


  1. 轨迹受车辆运动力学限制; 

  2. 强依赖于地理信息,如车道线、路口形状等。

 

常规道路处理的一般过程为:



▲机动车意图预测—常规道路


▲机动车意图预测—常规道路


交叉路口的轨迹预测核心是沿车辆行进方向,对车身圆周进行 12 等分,选择与路口有交汇的扇区进行分析,将问题转化为 12 元分类问题,简化问题。


▲机动车意图预测—交叉路口


▲机动车意图预测—交叉路口


与主车交互的预测的一般步骤如下图所示为:



假设障碍车与主车(蓝色车辆)如下图所示,障碍物车并道的先验概率为 0.8,直线行驶的概率为 0.2。


▲考虑与主车交互的轨迹预测 


▲考虑与主车交互的轨迹预测 


▲考虑与主车交互的轨迹预测 


▲参数训练方法



行人的行为较机动车,轨迹更为发散,更为多元化,对地理信息的依赖较小,且轨迹易受周围障碍物影响,如遮挡等,对预测造成一定的困难。


因此在预测时,着重考虑各个障碍物间的交互,并对每个轨迹点做概率化的预测。


只参考行人自身的历史运动轨迹,然后对行人轨迹进行预测。


▲一般模型


对于多个行人的场景,若行人相互距离较近,可通过象限法,将行人划分到不同象限,然后分开进行轨迹预测,如下图所示。


▲近距离人群轨迹预测 


当行人相互间相距较远时,需要对行人的运动趋势进行一定的预测,也就是预测行人,接下来可能是与其他人群汇合,还是继续单独运动等。预测模型如下:


▲远距离人群轨迹预测 


综上所述,行人轨迹预测可概括如下:


▲行人轨迹预测总结



  1. 感知信息的信噪比过低。

  2. 障碍物的意图不明显 。

  3. 障碍物被遮挡 。

  4. 突发事件/违背交规的障碍物 。

  5. 复杂模型的线上预测较为耗时。


完整版学习,请点击《Apollo公开课丨Apollo行为轨迹预测技术》


其它如 Apollo 的控制仿真平台,以及 Apollo 的传感器方案在此不做描述,了解更多相关技术内容,进入社群进行交流。


更多话题讨论、技术交流

可以添加『Apollo小哥哥』为好友

进开发者交流群






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存